Machining is used extensively for producing prototypes, partially completed or roughed parts and finished parts in laboratory, industry, and other environments. However, since it takes considerable intelligence and manual skill to both plan and operate tools like milling machines and lathes to perform machining operations, particularly for complex parts, automatic machining involving computer aided manufacturing (CAM) has become increasingly popular over the years.
Current CAM systems require as inputs shape primitives, defined in terms of access directions and paremetrized cutting paths, and generate low level cutting instructions from such inputs. Such systems work reasonably well for three-axis machining such as end milling, face milling and drilling, but cannot efficiently capture the tool paths required for machining in four or more axis. Further, these techniques do not make tool paths for machining various features directly available from the received inputs, and these paths must be extracted with manual input from the user. Thus, for these systems, the onus of feature extraction is on the manufacturing engineer, making the processes time consuming and expensive. The resulting output may also frequently require considerable operator skill, something which is difficult to come by. This results in the laying out of a CAM job representing a significant fraction of the total cost of the entire project.
One problem when laying out tool paths, particularly for workpieces or parts having hidden surfaces, is to assure that contact by the workpiece with the tool is only at the tool's cutting/working surface and that spurious collisions do not occur between the workpiece and other parts of the tool, which collisions could interfere with tool operation and could result in defects in the resulting parts, rendering them unusable. Existing systems do not guarantee that the tool paths generated will be collision free and the onus of avoiding collisions between the tool and workpiece again falls on the manufacturing engineer and/or system operator. Difficulties in performing collision avoidance is a significant reason for the high cost in laying out complex CAM jobs.
A need therefore exist for an improved methodology for providing tool paths, particularly for complex parts or workpieces having at least partially hidden surfaces, and particularly where the CAM systems has four or more axis which may be utilized to facilitate access to such complex workpieces. Such a methodology should permit collision free tool paths to be automatically and rapidly generated, without requiring substantial time and effort on the part of the manufacturing engineer or other person laying out the job, and without requiring significant skill on the part of the machine operator. Such methodology would thus significantly speed the process of laying out CAM projects, facilitating the use of CAM for generating laboratory prototypes and the like, and would also significantly reduce the skill level of personnel required both to lay out jobs and to operate CAM machines. It would also result in more optimal paths for such systems, would significantly reduce the total cost involved in a CAM project, particularly ones involving short runs of parts, and would significantly reduce the time required to set up a CAM project, permitting users to more rapidly respond to parts requirements from customers and others.